Sam, Thanks for your response. It helped now. But what i did here is,

Create a view for remote table, then grant select privileges to all other schemas in the same database. It solved my problem.

From your statement, why would we need to create the synonym to the remote table with a different name. Then create a view with the same name of the remote table. then grant that view to the users.