package main import ( "os" "os/exec" ) func RunCmd(cmd []string, env Environment) (returnCode int) { c := exec.Command(cmd[0], cmd[1:]...) for k, v := range env { c.Env = append(os.Environ(), k+"="+v) } c.Stdout = os.Stdout c.Stderr = os.Stderr if err := c.Run(); err != nil { if code, ok := err.(*exec.ExitError); ok { return code.ExitCode() } return -1 } return 0 }