I would like to generalize my function calls to be able to pass these calls to a second function as parameters.
In my case I have mutliple ggplots that I store as a list
I think this is what you want. It's hard to be sure since I don't use grid stuff often and you didn't provide a reproducible example.
# Make example data
p <- qplot(rnorm(30))
year.plots <- list(p, p, p, p, p, p, p)
# This will basically construct the call
# grid.arrange(p, p, p, p, p, p, p, ncol = 3)
do.call(grid.arrange, c(year.plots, ncol = 3))