• From my perspective you should be looking at turning this process inside-out and using PowerShell to execute whatever you're doing with xp_cmdshell, bcp.exe to load your file and sqlcmd or the ADO.NET classes to execute T-SQL. A new SSIS package would also be a great candidate to replace the T-SQL process. If you want to hear more about either of those options that let me know.

    If you want to continue with everything in T-SQL:

    Database Users are not the same as Server Logins. Database Users are not included in the sysadmin Fixed Server Role, Server Logins are. BULK INSERT requires server-level permissions.

    In order to accomplish this task I would recommend you look into signing your procedure with a certificate based on a user in the master database with the server-level permissions necessary to call BULK INSERT as well as exec xp_cmdshell.

    Signing Stored Procedures with a Certificate (SQL Server 2005)

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato