Is it possible to change offset of material on an object over time

It is possibly to change the offset of a texture on a material over time (or any other way come to that) using a standard shader?

1) Initally I would like a texture to scroll over time, ie scrolling horizontally.

2) Secondly I would like to completely control the offset.

I assume I could do 1) by creating/modifying a shader. But dont know if that would work for 2).

Thanks.

http://unity3d.com/support/documentation/ScriptReference/Material-mainTextureOffset.html

http://unity3d.com/support/documentation/ScriptReference/Material.SetTextureOffset.html