If the motivation for doing this is to improve the ease of interactive analysis work, i.e. to save ones typing while one plays with the data, there is a possible alternative to consider.
attach() and detach() can be used to add ( and remove) items to the search path, effectively it means you can treat an attached object as if its names components were present in your immediate environment, whens they arent. It makes it as though you typed out the full name effectively.
i.e.
wantlist <- list(a1 = mtcars,
a2=iris)
head(a1)
# as expected : Error in head(a1) : object 'a1' not found
head(wantlist$a1)
# gets what I want but annoying to type each time
attach(wantlist)
# more convenient
head(a1)
head(a2)
# restore old behaviour
detach("wantlist")
head(a1)
# as expected : Error in head(a1) : object 'a1' not found