diff -ru rsrce-0.1/command.c rsrce-0.1-cmd_parser/command.c
--- rsrce-0.1/command.c	2006-05-01 17:25:40.000000000 +0100
+++ rsrce-0.1-cmd_parser/command.c	2006-05-01 17:25:51.000000000 +0100
@@ -378,13 +378,32 @@
 
 int cmd_exec(char *cmd)
 {
+	char *dst;
 	char *argv[MAXARGC+1];
 	int argc, i;
 
+	if((*cmd == 0) || (*cmd == '#'))
+		return 0;
+
+	dst = cmd;
 	memset(argv, 0, sizeof(argv));
 	argc = 0;
-	while((argv[argc++] = strsep(&cmd, " ")) && argc < MAXARGC+1);
-	
+	argv[argc++] = dst;
+	while(argc < MAXARGC+1) {
+		if(*cmd == ' ') {
+			*dst++ = 0;
+			cmd++;
+			argv[argc++] = dst;
+		} else {
+			if(*cmd == '\\') {
+				cmd++;
+			}
+			if((*dst++ = *cmd++) == 0) {
+				break;
+			}
+		}
+	}
+
 	if(argv[MAXARGC]) {
 		fprintf(stderr, "Too many arguments\n");
 		return -1;
