Node.js:执行unix命令时转义空格

我使用这个命令来压缩node.js中的文件:

var command = '7z a ' + dest + ' ' + orig; exec( command, function(err, stdout, stderr) { ...}); 

问题来了,当一个文件有7z a my vacation.zip my vacation.pdf空间7z a my vacation.zip my vacation.pdf

我怎么能逃避dest和orig?

尝试使用spawn:

 var spawn = require('child_process').spawn, ls = spawn('ls', ['-l', '/tmp/test with spaces']); ls.stdout.on('data', function (data) { console.log('stdout: ' + data); });