Masking image with shader having array input

I’m coding on a shader file using a float4[] array as input.

Cases is that, when the image is under an object with Mask component, the input can’t be passed to the shader. If there is no masking, just using Material.SetVectorArray will work. But with masking, it seems that only variable declared in properties can be used as usual. Problem is that, array type is not accept in properties.

Is there any way to using array input in shader and is valid under masking?