diff --git a/include/server.h b/include/server.h
index 2acd4b1..4e56dc4 100644
--- a/include/server.h
+++ b/include/server.h
@@ -49,6 +49,7 @@
     int          hstdin;       /* handle for stdin */
     int          hstdout;      /* handle for stdout */
     int          hstderr;      /* handle for stderr */
+    char         cmd_line[0];  /* command line */
 };
 struct new_process_reply
 {
diff --git a/scheduler/process.c b/scheduler/process.c
index 1011c92..fa96c6f 100644
--- a/scheduler/process.c
+++ b/scheduler/process.c
@@ -421,7 +421,8 @@
         req.hstdout = GetStdHandle( STD_OUTPUT_HANDLE );
         req.hstderr = GetStdHandle( STD_ERROR_HANDLE );
     }
-    CLIENT_SendRequest( REQ_NEW_PROCESS, -1, 1, &req, sizeof(req) );
+    CLIENT_SendRequest( REQ_NEW_PROCESS, -1, 2,
+                        &req, sizeof(req), cmd_line, strlen(cmd_line) + 1 );
     if (CLIENT_WaitSimpleReply( &reply, sizeof(reply), NULL )) goto error;
     pdb->server_pid   = reply.pid;
     info->hProcess    = reply.handle;
diff --git a/server/trace.c b/server/trace.c
index b689e94..f1ab987 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -13,8 +13,9 @@
     fprintf( stderr, " start_flags=%d,", req->start_flags );
     fprintf( stderr, " hstdin=%d,", req->hstdin );
     fprintf( stderr, " hstdout=%d,", req->hstdout );
-    fprintf( stderr, " hstderr=%d", req->hstderr );
-    return (int)sizeof(*req);
+    fprintf( stderr, " hstderr=%d,", req->hstderr );
+    fprintf( stderr, " cmd_line=\"%.*s\"", len - (int)sizeof(*req), (char *)(req+1) );
+    return len;
 }
 
 static int dump_new_process_reply( struct new_process_reply *req, int len )
