How to apply a color to the second texture in this shader?

This a modification of the built in Transparent Diffuse shader of Unity. I’ve been trying to set the Color2 as the color of the Tex2. How can I do that?

Shader "Transparent/Diffuse2" {
Properties {
	_Color ("Main Color", Color) = (1,1,1,1)
	_Color2 ("Main Color2", Color) = (1,1,1,1)
	_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
	_Tex2 ("B", 2D) = "white" {}
}

SubShader {
	Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
	LOD 200

Pass {
		Material {
                Diffuse [_Tex2]
                Diffuse [_MainTex]
                
            }
            
            
            // Apply base texture
            SetTexture [_MainTex] {
                combine texture
            }
            // Blend in the alpha texture using the lerp operator
            SetTexture [_Tex2] {
            	//constantColor [_Color2]
                combine texture lerp (texture) previous
            }
        }
CGPROGRAM
#pragma surface surf Lambert alpha

sampler2D _MainTex;
sampler2D _Tex2;
fixed4 _Color;
fixed4 _Color2;




struct Input {
	float2 uv_MainTex;
	float2 uv_Tex2;
};

void surf (Input IN, inout SurfaceOutput o) {
	
	
	fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
	fixed4 b = tex2D(_Tex2, IN.uv_Tex2) * _Color2;
	
	o.Albedo = c.rgb;
	o.Alpha = c.a;
}
ENDCG
}

Fallback "Transparent/VertexLit"
}

My objective is to have a texture with alpha channel, which has its own color, overlaying an opaque texture, which has its own color. Sounds simple, but I couldn’t find a single shader that does that.

http://forum.unity3d.com/threads/blending-two-colors-with-texture-and-weighting.285974/#post-1888639