-    // Transfer the arguments passed in to a new argument array
-    for (arg = 0; arg < argc; arg++) {
-        newargv[arg] = argv[arg];
-    }
-    // Ensure the argument list is NULL terminated (for execvp)
-    newargv[argc] = NULL;
-    // Ensure the first argument matches the command
-    newargv[0] = command;
+    if (newargv != NULL) {
+        // Transfer the arguments passed in to a new argument array
+        for (arg = 0; arg < argc; arg++) {
+            newargv[arg] = argv[arg];
+        }
+        // Ensure the argument list is NULL terminated (for execvp)
+        newargv[argc] = NULL;
+        // Ensure the first argument matches the command
+        newargv[0] = command;