``ProcessBuilder::create(array($cmd))`` does not allow running a full command. In this case ``$cmd`` must be a command without any of its arguments (something like ``ls`` only). This would make it quite useless IMO (people will always have to pass a Process explicitly for real use cases then). Currently, the need to pass the Process explicitly only when they need to use the advanced configuration options