+4  A: 

You would do:

template <typename ...Params>
void f(Params&&... params)
{
    y(std::forward<Params>(params)...);
}

The ... pretty much says "take what's on the left, and for each template parameter, unpack it accordingly."

GMan
UncleBens
@Uncle: Added, I think you're right.
GMan
Makes me wish 2010 had vtemplates already. What just took me a good hour (don't often use pmpl) and is basically unreadable would boil down to three cute lines of code.
Noah Roberts