The correct way to call it:
let pid = Unix.create_process "ls" [|"ls"|] Unix.stdin Unix.stdout Unix.stderr
The first element of the array must be the name of the command.
On some systems, /bin/lsthere is a link to some larger executable that will look at argv.(0)to know how to behave (cf Busybox ); so you really need to provide this information.
( , /usr/bin/vi, , vim).