What if one of the args was two words? or it's? Your code won't work in those everyday situations, nevermind the security implications. You've invoking the shell without quoting and escaping your command. Use IPC::Open3, IPC::Run or IPC::Run3 to avoid having to do so.