マクロを用いずに可変長引数関数をラッピングする手段を教えて下さい。
How to wrap variadic function without macro.

DebugPrint関数がラッピング対象の関数で可変長引数を取るとします。
DebugPrintWrapper関数がラッピングする関数で、同様に可変長引数を取るとします。

DebugPrintWrapperが受け取った可変長引数をそのままDebugPrintの引数として利用するにはどのようにすればいいでしょうか?

void DebugPrint(const char * const fmt, ...);
void DebugPrintWrapper(const char * const fmt, ...)
{
    //DebugPrint(fmt, ....);
}