If [name] is the name of a column then you don't and probably shouldn't enclose it in singel quotes anyway. You may want to enclose it in brackets just in case the designer did not follow good naming conventions:
set @cmd='BCP "select [' +name +'], uid....
Can you post an example of what you want your final command string to look like?
If it's not practically useful, then it's practically useless.
Using a view works though....(I'd still use brackets)
CREATE VIEW myView99 AS
SELECT '"'+name+'"' AS myName99, uid FROM sysobjects
DECLARE @cmd varchar(8000)
SET @cmd = 'bcp Northwind.dbo.myView99 OUT C:\myView99.txt -w -T -S -t","'
EXEC MASTER..XP_CMDSHELL @Cmd
EXEC MASTER..XP_CMDSHELL 'DIR C:\*.txt'
EXEC MASTER..XP_CMDSHELL 'COPY C:\*.txt D:\Tax\*.*'