Escapando parâmetros de comando passados para xp_cmdshell para dtexec

Estou chamando um pacote SSIS remotamente usando um procedimento armazenado e uma chamada para xp_cmdshell:

declare @cmd varchar(5000)
set @cmd = '"C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\dtexec.exe" /Rep E /Sql Package /SET \Package.Variables[User::ImportFileName].Value;c:\foo.xlsx'
print @cmd
exec xp_cmdshell @cmd

Isso funciona bem, no entanto, não posso garantir que o valor da variável (c: \ foo.xslx) não contenha espaços, portanto, gostaria de escapar disso com aspas como abaixo:

set @cmd = '"C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\dtexec.exe" /Rep E /Sql Package /SET \Package.Variables[User::ImportFileName].Value;"c:\foo.xlsx"'

Mas, ao fazer isso, recebo o erro

'C:\Program' is not recognized as an internal or external command, operable program or batch file.

Ambos os comandos acima funcionam bem se executados no cmd.exe, portanto, acho que o SQL Server está interpretando minhas aspas duplas e alterando alguma coisa, mas não consigo descobrir o que.

questionAnswers(2)

yourAnswerToTheQuestion