ты приделал бессмысленный неработающий костыль под 4 аргумента (а если их 5 или переменное количество?), а не сделал так как хотел - передав "...". Как не прыгай - функция будет внутри себя брать свой va_start не имеющий отношения к внешним аргументам. Можно сделать только передавая в функцию va_list и не беря внутри ее еще один va_start