diff --git a/misc/dashboard/builder/exec.go b/misc/dashboard/builder/exec.go
index bdc740c..009c769 100644
--- a/misc/dashboard/builder/exec.go
+++ b/misc/dashboard/builder/exec.go
@@ -4,11 +4,12 @@
 	"bytes"
 	"exec"
 	"os"
+	"strings"
 )
 
 // run is a simple wrapper for exec.Run/Close
 func run(envv []string, dir string, argv ...string) os.Error {
-	bin, err := exec.LookPath(argv[0])
+	bin, err := pathLookup(argv[0])
 	if err != nil {
 		return err
 	}
@@ -22,7 +23,7 @@
 
 // runLog runs a process and returns the combined stdout/stderr
 func runLog(envv []string, dir string, argv ...string) (output string, exitStatus int, err os.Error) {
-	bin, err := exec.LookPath(argv[0])
+	bin, err := pathLookup(argv[0])
 	if err != nil {
 		return
 	}
@@ -43,3 +44,11 @@
 	}
 	return b.String(), w.WaitStatus.ExitStatus(), nil
 }
+
+// Find bin in PATH if a relative or absolute path hasn't been specified
+func pathLookup(s string) (string, os.Error) {
+	if strings.HasPrefix(s, "/") || strings.HasPrefix(s, "./")  || strings.HasPrefix(s, "../") {
+		return s, nil
+	} 
+	return exec.LookPath(s)
+}
diff --git a/misc/dashboard/builder/main.go b/misc/dashboard/builder/main.go
index 0302638..ce0caf8 100644
--- a/misc/dashboard/builder/main.go
+++ b/misc/dashboard/builder/main.go
@@ -41,6 +41,7 @@
 	runBenchmarks = flag.Bool("bench", false, "Run benchmarks")
 	buildRelease  = flag.Bool("release", false, "Build and upload binary release archives")
 	buildRevision = flag.String("rev", "", "Build specified revision and exit")
+	buildCmd      = flag.String("cmd", "./all.bash", "Build command (specify absolute or relative to go/src/)")
 )
 
 var (
@@ -265,17 +266,8 @@
 	}
 	srcDir := path.Join(workpath, "go", "src")
 
-	// check for all-${GOARCH,GOOS}.bash and use it if found
-	allbash := "all.bash"
-	if a := "all-"+b.goarch+".bash"; isFile(path.Join(srcDir, a)) {
-		allbash = a
-	}
-	if a := "all-"+b.goos+".bash"; isFile(path.Join(srcDir, a)) {
-		allbash = a
-	}
-
 	// build
-	buildLog, status, err := runLog(env, srcDir, "bash", allbash)
+	buildLog, status, err := runLog(env, srcDir, *buildCmd)
 	if err != nil {
 		return errf("all.bash: %s", err)
 	}
@@ -307,7 +299,7 @@
 	// if this is a release, create tgz and upload to google code
 	if release := releaseRegexp.FindString(c.desc); release != "" {
 		// clean out build state
-		err = run(env, srcDir, "sh", "clean.bash", "--nopkg")
+		err = run(env, srcDir, "./clean.bash", "--nopkg")
 		if err != nil {
 			return errf("clean.bash: %s", err)
 		}
