You may simply subtract a 3-vector, numpy will broadcast it automatically.
Little demo with a 5x5 RGB image, subtracting 2 from red channel, 5 from green channel, 3 from blue channel:
>>> A = 10*np.ones((5,5,3), dtype=int)
>>> A -= [2, 5, 3]
>>> A[:,:,0] # Red
array([[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8],
[8, 8, 8, 8, 8]])
>>> A[:,:,1] # Green
array([[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5]])
>>> A[:,:,2] # Blue
array([[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7]])
array1 - array2; as simple as that. If this is not the case, can you clarify the dimensions of the values you'd like to substract?