Hi,
The .bat extension is not a Win32 application catagory so first of all to run from C# using ProcessStartInfo you will need to use filename as cmd.exe and arguments will be "/c your batch file". To execute it on remote machine, the application running context must have permission to execute command on remote machine. I will suggest you to use Plink utility to connect to remote machine using SSH and then run the command.
-Paresh