code: func PopFirstArgument(args []string) (string, []string, error) {
  	if len(args) < 1 {
  		return "", nil, errors.New("not enough arguments are supplied --- please refer to the usage")
  	}
  	return args[0], args[1:], nil
  }
docs: // PopFirstArgument returns the first element and the rest of a string
  // slice and return error if failed to do so. It is a helper function
  // to parse non-flag arguments previously used in cfssl commands.