makeparallel: prepend flags to ninja command line

Ninja stops parsing top level options after -t is used to select a
tool.  Put any inserted command line options at the beginning of the
command.

Change-Id: I2ba903143366aaded63e21d749476248617c8962
diff --git a/tools/makeparallel/makeparallel.cpp b/tools/makeparallel/makeparallel.cpp
index 7dd0ceb..576fe8d 100644
--- a/tools/makeparallel/makeparallel.cpp
+++ b/tools/makeparallel/makeparallel.cpp
@@ -298,8 +298,12 @@
     argc--;
   }
 
+  if (argc < 2) {
+    error(EXIT_FAILURE, 0, "expected command to run");
+  }
+
   const char* path = argv[1];
-  std::vector<char*> args(&argv[1], &argv[argc]);
+  std::vector<char*> args({argv[1]});
 
   std::vector<std::string> makeflags = ReadMakeflags();
   if (ParseMakeflags(makeflags, &in_fd, &out_fd, &parallel, &keep_going)) {
@@ -328,6 +332,8 @@
     args.push_back(strdup(jarg.c_str()));
   }
 
+  args.insert(args.end(), &argv[2], &argv[argc]);
+
   args.push_back(nullptr);
 
   pid_t pid = fork();