diff --git a/process-spec.lisp b/process-spec.lisp
index a17c403e7431f86b7467396ca2d1200cdffaa158..ff52ea0552a315e8fcba00bf7e76828090ff32a7 100644
--- a/process-spec.lisp
+++ b/process-spec.lisp
@@ -317,7 +317,7 @@
            (`(quote ,@args) ;; quote
              (e (xcvb-driver:escape-command
                  (parse-command-spec-tokens args))))
-           (`(,(typep simple-command-line-token) _) ;; recurse
+           (`(,(typep simple-command-line-token) ,@_) ;; recurse
              (map () #'p x))
            (_
             (error "Unrecognized command-spec token ~S" x)))))
diff --git a/test.lisp b/test.lisp
index 9db50d4a661afdd44a50fc27aca839f4a63649e9..2698cc4836ad2427297ca1ff2db2f451666db0ac 100644
--- a/test.lisp
+++ b/test.lisp
@@ -14,7 +14,8 @@
             :documentation "Testing inferior-shell"))
 
 (defun do-test-inferior-shell ()
-  (is (equal (run/ss "echo 1 2 3") "1 2 3"))
+  (is (equal (run/ss '(echo (1) "2" (+ 3))) "1 2 3"))
+  (is (equal (run/ss "echo 1    2        3") "1 2 3"))
   (is (equal (run/ss `(pipe (echo (+ hel "lo,") world)
                             (tr "hw" "HW") (sed -e "s/$/!/")))
              "Hello, World!")))