Dear, M-x dbx dbx -c "runargs -simu; run" path-to-the-debuggee Above workflow doesn't work on Emacs 22.1.1 I found something in gud.el, look at this. ;; Perform initializations common to all debuggers. ;; The first arg is the specified command line, ;; which starts with the program to debug. ;; The other three args specify the values to use ;; for local variables in the debugger buffer. (defun gud-common-init (command-line massage-args marker-filter &optional find-file) (let* ((words (split-string command-line)) (program (car words)) (dir default-directory) ;; Extract the file name from WORDS ;; and put t in its place. ;; Later on we will put the modified file name arg back there. (file-word (let ((w (cdr words))) (while (and w (= ?- (aref (car w) 0))) (setq w (cdr w))) . . . >From above, variable "command-line" is converted into list. But Just "Split-String" by default separator. In the end, because the quote in my original dbx execution, output list by split-string was ("-c" "\"runargs" "-simu;" "run\"" "path-to-the-debuggee) instead of ("-c" "runargs -simu; run" "path-to-the-debuggee") which is actually correct for (start-process) to be called with Thanks Emacs Team