i missed the part about restoring on the remote server.
if you have a linked server, i know you can do EXECUTE AT;
here's an example of creating a table on the remote server, you could change that to run the BACKUP command instead.
EXEC sp_addlinkedserver 'SeattleSales', 'SQL Server'
EXECUTE ( 'CREATE TABLE AdventureWorks2008R2.dbo.SalesTbl
(SalesID int, SalesName varchar(10)) ; ' ) AT SeattleSales;
EXECUTE('RESTORE DATABASE MyDatabase FROM DISK=''E:\Backups\MyDatabase.bak''') AT SeattleSales
--help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!