Can I change a duplicated objects shader?

I may have a really bad understanding of shaders.

I have duplicated an object, and in the inspector I go tot change the texture and find that it is sharing the shader with the object it was duplicated from. How can I change this shader, or will it be forever linked like this?

You can always set the shader at runtime:

void ChangeShader(Shader s)
{
    renderer.material.shader = s;
}