diff --git a/userprog/process.c b/userprog/process.c
index 37695312f1fb7ece2e9a73c5a44303488589ca69..0547b44de6f1b87092541dc5cd29b2e7e68d5c05 100644
--- a/userprog/process.c
+++ b/userprog/process.c
@@ -60,9 +60,11 @@ static void start_process(void* cmd_line_)
 	if_.gs = if_.fs = if_.es = if_.ds = if_.ss = SEL_UDSEG;
 	if_.cs = SEL_UCSEG;
 	if_.eflags = FLAG_IF | FLAG_MBS;
-	
+	char* file_name;
+	char* token = strtok_r(cmd_line," ", &if_.esp);
+	file_name=token;
 	// Note: load requires the file name only, not the entire cmd_line
-	success = load(cmd_line, &if_.eip, &if_.esp);
+	success = load(file_name, &if_.eip, &if_.esp);
 
 	/* If load failed, quit. */
 	palloc_free_page(cmd_line);