1 package main 2 3 import ( 4 "os" 5 "os/exec" 6 ) 7 8 func ReplaceWithProcess(args, env []string) error { 9 cmd := exec.Command(args[0], args[1:]...) 10 cmd.Stdout = os.Stdout 11 cmd.Stderr = os.Stderr 12 cmd.Env = env 13 err := cmd.Run() 14 if exitErr, ok := err.(*exec.ExitError); ok { 15 os.Exit(exitErr.ExitCode()) 16 } else if err == nil { 17 os.Exit(0) 18 } 19 return err 20 } 21