Usando la lm de R en un marco de datos con una lista de predictores

Tengo un marco de datos con digamos N + 2 columnas. La primera es solo fechas (utilizadas principalmente para trazar más adelante), la segunda es una variable cuya respuesta a las N columnas restantes me gustaría calcular. Estoy pensando que debe haber algo como

df = data.frame(y = 1:10, x1 = runif(10), x2 = rnorm(10))
fit = lm(y~df[,2:3],data=df)

Esto no funciona. También he intentado y fracasado con

fit = lm(y~sapply(colnames(df)[2:3],as.name),data=df)

¿Alguna idea?