Взять переменное число аргументов:
def overall_function(function, *positional, **keyword):
function(*positional, **keyword)
Теперь вы можете передавать аргументы, например:
overall_function(function, 1, 2, foo='bar')
, и функция будет выполняться как:
function(1, 2, foo='bar')
positional
будет tuple
: (1, 2)
(это два позиционных аргумента). keyword
будет dict
: {'foo': 'bar'}
(этоключевой аргумент).