I would not use rvalue references here, because that will allow you to bind to rvalues which can allow such nonsensical code as:
inc(1);
So, I would stick with regular references:
template
void inc(T& t) { ++t; }
template
void inc(T& t, Args& ... args) { ++t; inc(args...); }