Execute xp_cmdshell as a non-windows user
You can use a SQL Server login.

The following procedure is explained in MSDN:


  To allow non-administrators to use xp_cmdshell, and allow SQL Server
  to create child processes with the security token of a less-privileged
  account, follow these steps: 
  
  
  Create and customize a Windows local user account or a domain account with the least privileges that your processes require. 
  Use the sp_xp_cmdshell_proxy_account system procedure to configure xp_cmdshell to use that least-privileged account. 
  Note You can also configure this proxy account using SQL
  Server Management Studio by right-clicking Properties on your server
  name in Object Explorer, and looking on the Security tab for the
  Server proxy account section. 
  In Management Studio, using the master
  database, execute the GRANT exec ON xp_cmdshell TO ''
  statement to give specific non-sysadmin users the ability to execute
  xp_cmdshell. The specified login must be mapped to a user in the
  master database.