sumnodes(vars, s(1,t(X,2),[Y]), [], [X,Y]).
where
vars(X, Vars, [X|Vars]) :- var(X), !.
vars(_, Vars, Vars).
or even more elegant using grammar rules:
sumnodes(vars, s(1,t(X,2),[Y]), [X,Y], []).
where
vars(X) --> {var(X)} -> [X];[].