func (shell *ShellScript) String() string {
	return shell.Args[2]
}
String returns body of shell script.
package posix
import (
	"fmt"
	"strconv"
	"strings"
)
type ShellScript Cmd
func (shell *ShellScript) Run() error {
	env := make([]string, 0)
	for _, e := range shell.Env {
		a := strings.Split(e, "=")
		name := a[0]
		val := strings.Join(a[1:], "=")
		env = append(env, fmt.Sprintf("%s=%s", name, strconv.Quote(val)))
	}
	shell.Args[2] = fmt.Sprintf("#!/bin/sh\n%s;\n%s", strings.Join(env, ";\n"), shell.Args[2])
	return shell.Cmd.Run()
}