v.io/x/devtools: fix bug v.io/i/1300.

Change-Id: Id229c43c8de4e82c3dbc97fd5eb895c6f285ab8d
diff --git a/jiri-go/go.go b/jiri-go/go.go
index aae42f1..5196f24 100644
--- a/jiri-go/go.go
+++ b/jiri-go/go.go
@@ -91,12 +91,14 @@
 	if readerFlags.Target.OS() == "fnl" {
 		installSuffix = "musl"
 	}
-	if args, err = golib.PrepareGo(jirix, envMap, args, extraLDFlags, installSuffix); err != nil {
+	newArgs, err := golib.PrepareGo(jirix, envMap, args, extraLDFlags, installSuffix)
+	if err != nil {
 		return err
 	}
 	// Don't run go env if PrepareGo stripped off the environment
-	// variables that the go tool doesn't understand - e.g. VDLPATH.
-	if len(args) == 1 && args[0] == "env" {
+	// variables that the go tool doesn't understand - e.g. VDLPATH,
+	// unless the original command was just 'go env'.
+	if len(newArgs) == 1 && newArgs[0] == "env" && !(len(args) == 1 && args[0] == "env") {
 		return nil
 	}
 	// Run the go tool.
@@ -105,9 +107,9 @@
 		return err
 	}
 	if envFlag {
-		fmt.Fprintf(jirix.Stdout(), "\n%v %s\n", goBin, strings.Join(args, " "))
+		fmt.Fprintf(jirix.Stdout(), "\n%v %s\n", goBin, strings.Join(newArgs, " "))
 	}
-	err = jirix.NewSeq().Env(envMap).Capture(jirix.Stdout(), jirix.Stderr()).Last(goBin, args...)
+	err = jirix.NewSeq().Env(envMap).Capture(jirix.Stdout(), jirix.Stderr()).Last(goBin, newArgs...)
 	return runutil.TranslateExitCode(err)
 }