Better error handling, use exec and proxy all arguments.