While i was very happy with georgiboy's ultra fast solution, sadly i can't get it to work when the expressions are non-numerical, as in this example:
Sub my_call()
    Application.Run "'my_set_interior(Selection),(vbGreen)'"
End Sub


Sub my_set_interior(r As Range, Optional lColor As Long = vbRed)
    r.Interior.Color = lColor
End Sub
, which gives me

Microsoft Visual Basic Run-time error '424':
Object required
Since the selection is on the calling sub's End Sub, it's not immediately clear where VBA is missing an object. But the problem seems to have to do with the parentheses, as can be seen from the following:

Sub calling_directly()
    my_Set_interior Selection, vbGreen
End Sub


Sub calling_directly_with_parentheses()
     my_Set_interior (Selection), (vbGreen)
End Sub
The first one works as expected, while the second one gives the same error message as above. So, with much regret, i have to reopen this case.