C++ compatible declarations
execute_a(): pass args array directly instead of varargs