func templateString(in string, variable interface{}) (string, error) {
	t, err := template.New("main").Parse(in)
	if err != nil {
		return "", err
	}
	var out bytes.Buffer
	if err = t.ExecuteTemplate(&out, "main", variable); err != nil {
		return "", err
	}
	return out.String(), err
}
templateString execute a given template with the variables given
package cmdtemplate
import (
	"bytes"
	"text/template"
	"github.com/cloudical-io/ancientt/testers"
)
type Variables struct {
	ServerAddressV4 string
	ServerAddressV6 string
	ServerPort      int32
}
func Template(task *testers.Task, variables Variables) error {
	templatedArgs := []string{}
	var err error
	task.Command, err = templateString(task.Command, variables)
	if err != nil {
		return err
	}
	for _, arg := range task.Args {
		arg, err = templateString(arg, variables)
		if err != nil {
			return err
		}
		templatedArgs = append(templatedArgs, arg)
	}
	task.Args = templatedArgs
	return nil
}