code: func (h *Hook) ExtractCommandArgumentsForEnv(headers, query, payload *map[string]interface{}) ([]string, []error) {
  	var args = make([]string, 0)
  	var errors = make([]error, 0)
  	for i := range h.PassEnvironmentToCommand {
  		if arg, ok := h.PassEnvironmentToCommand[i].Get(headers, query, payload); ok {
  			if h.PassEnvironmentToCommand[i].EnvName != "" {
  				// first try to use the EnvName if specified
  				args = append(args, h.PassEnvironmentToCommand[i].EnvName+"="+arg)
  			} else {
  				// then fallback on the name
  				args = append(args, EnvNamespace+h.PassEnvironmentToCommand[i].Name+"="+arg)
  			}
  		} else {
  			errors = append(errors, &ArgumentError{h.PassEnvironmentToCommand[i]})
  		}
  	}
  
  	if len(errors) > 0 {
  		return args, errors
  	}
  
  	return args, nil
  }
docs: // ExtractCommandArgumentsForEnv creates a list of arguments in key=value
  // format, based on the PassEnvironmentToCommand property that is ready to be used
  // with exec.Command().