-extending @code{process_execute()} so that instead of simply taking a
-program file name, it can take a program name with arguments as a
-single string. That is, @code{process_execute("grep foo *.c")} should
-be a legal call. @xref{80x86 Calling Convention}, for information on
-exactly how this works.
+extending @func{process_execute} so that instead of simply taking a
+program file name as its argument, it divides it into words at spaces.
+The first word is the program name, the second word is the first
+argument, and so on. That is, @code{process_execute("grep foo bar")}
+should run @program{grep} passing two arguments @code{foo} and
+@file{bar}. A few details:
+
+@itemize
+@item
+Multiple spaces are considered the same as a single space, so that
+@code{process_execute("grep foo bar")} would be equivalent to our
+original example.
+
+@item
+You can impose a reasonable limit on the length of the command line
+arguments. For example, you could limit the arguments to those that
+will fit in a single page (4 kB).
+
+@item
+You can parse the argument strings any way you like. If you're lost,
+look at @func{strtok_r}, prototyped in @file{lib/string.h} and
+implemented with thorough comments in @file{lib/string.c}. You can
+find more about it by looking at the man page (run @code{man strtok_r}
+at the prompt).
+
+@item
+@xref{80x86 Calling Convention}, for information on exactly how you
+need to set up the stack.
+@end itemize