I'll assume from your references that you are dealing with Microsoft SQL. The answer is essentially the same no matter which SQL engine you are using, although the implementation details are different.
There are ways to do it, but they all involve dynamic SQL of some sort. Obviously you can get there via
EXECUTE ('SELECT * FROM ' + @t) and similar tricks using sp_sqlexec, but you've ruled those out. You can also get there via
OPENQUERY, and via all kinds of twists that do basically the same kind of thing.
You are asking for dynamic SQL. You may have to live with getting dynamic SQL!
-PatP