You can't apply a shader to a texture, as far as I know or as far as I can find. You can only put the shader on a material which is used on the same renderer as the texture so that the effects are visible.
If you really want to apply those effects without using the shader on the material for that renderer, then you'd want to apply those effects differently. You can use Texture2D.SetPixels() and Texture2D.GetPixels() to change the colors of all the pixels pretty easy. I wouldn't recommend doing that every frame though, FYI. Make sure you called Texture2D.Apply() after you're done.
Otherwise, put the texture on a renderer and give that renderer the material that uses the shader.