Usando R's lm em um dataframe com uma lista de preditores

Eu tenho um dataframe com digamos N + 2 colunas. O primeiro é apenas datas (usado principalmente para plotagem mais tarde), o segundo é uma variável cuja resposta às colunas N restantes gostaria de computar. Eu estou pensando que deve haver algo como

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

Isso não funciona. Eu também tentei e falhei com

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

Alguma ideia?