Actually, I think you're right: the shellescape() will most likely cause problems if the argument string contains more than one argument and therefore spaces. I totally forgot about that, sorry!

So if I didn't miss anything it looks like it's ready to merge then :). I'll try to do that as soon as I have a bit of time to do some testing, just to make sure we didn't break anything in unexpected ways.