Is this near to what you are looking for?
In[107]:= ClearAll[f, g, h] In[104]:= f1[s__] := Total@Take[{s}, 3]; In[105]:= f2[s__] := Times @@ Take[{s}, 2]; In[106]:= f3[s__] := {s}[[1]] {s}[[3]] - {s}[[2]] {s}[[4]]; In[108]:= expr = Through[(f + g + h)[##]] & In[109]:= w = expr /. {f -> f1, g -> f2, h -> f3}; In[111]:= w[5, 6, 7, 8] Out[111]= (* 35 *)