If you use SQL Agent, there is no need to introduce an additional programming domain into the call stack. Ditch xp_CmdShell and call bcp from a step with type CmdExec.
SSIS would be an equally capable tool to use here as well.
There are no special teachers of virtue, because virtue is taught by the whole community. --Plato