printf()のような可変個数の引数をとる関数のラッパー関数の
作り方を教えてください。例えば Wprintf()というものを

int Wprintf(int a, const char *format,...)
{
if(a < 0) return -1; /* もし第1引数が負ならば即終了 */
else printf(format,...); /* ここで第2引数以下全てをprintf()に渡したい */

return 0;
}

な感じにしたいんですが printfにどうやって第2引数以下全ての引数を渡せばいいんでしょうか。