This is a convenience wrapper around the os/exec
module.
go get github.com/bluele/go-subprocess
// Get channel for subprocess.
result := <-subprocess.
Cmd("ls", "-al").
Pipe("wc", "-l").
Connect()
// $ ls -al | wc -l
fmt.Println(result.Stdout)
Jun Kimura