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
#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;

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.