кроме как тупо перекопировать стек верхней фнукции и некторое число раз прокинуть во внутреннюю не получилось.
примерно так
double f(int n, ...)
{
return ...
}
double f1(int fmt, ...)
{
va_list argptr;
u32_t buf[100];
va_start(argptr, fmt);
memcpy(buf,argptr,10);
double y = f(fmt,buf[0],buf[1],buf[2],buf[3]);
va_end(argptr);
return y;
}
в этом случае надо буфер заранее брать что все возможные комбинации аргументов в него влезли