Rigging a character with separate armor mesh

I’ve created a character and want to give it some interchangeable armor pieces. The base body mesh rigged very nicely, but when I try to pose the bones with an armor mesh covering the base mesh, the armor doesn’t deform in sync with the body mesh. In other words, the overlaying armor mesh isn’t acting like a rigid object. The innermost layer of faces/vertices rotates at a different rate than the body mesh. The upper arm bone seems to deform just fine, but as I select the bones down the chain then I start to have this problem. I’ve spent hours painting weights and assigning the proper vertex groups but it I’m not having any luck. What am I missing? Any advice for rigging several mesh pieces to an armature and getting the bones to move all the parts in unison?