add runShellCommand to api