I set a bone to copy rotation of the arm bone when it rotates on Z axis to enable a corrective shape key. The problem is that when i rotate the arm on the X axis, the bone that is copying rotation rotates on Z axis and enables the corrective shape key, distorting the mesh.
as your bone is not completely aligned with the global X axis, rotating it on the global X axis makes it rotate on its local Z. If you align it completely with the global X axis in Edit mode, it won't happen any more. Once aligned:
Not sure why you need to rotate it on the global X axis though, just keyframe rotations on its local Y axis.