Replace the string command with array command to avoid spawning a subshell before execute the child process. This also remove the need of escaping command and arguments, because the array form is treated literally.
Add ruby interpreter to run ruby script, so that it works on windows where shebang is not supported.
This PR has the following changes: