If you actually have arrays (and not just strings of varchar elements that you're calling arrays), just using a like operator isn't going to cut it. You'll need to combine this idea with array_combine.
Structure
Table1
select array_combine(arr,',') arr from table1;
ARR
--------------------------------------------------------------------
checkSubAccount,checkPosition,checkDigital
checkOption,checkEquity,checkSubAccount,checkPosition,checkDigital
checkOption,checkEquity,checkSubAccount
Table2
select * from table2;
VAL
-----------------
checkDigital
checkOption
checkEquity
checkPosition
checkSubAccount
Now, to get the output you want, you'll need to join using array_combine to create a string.
select
val
,array_combine(arr,',') arr
from
table1 tb1
join table2 tb2 on
array_combine(tb1.arr,',') like '%' || tb2.val || '%'
order by 1;
VAL | ARR
-----------------+--------------------------------------------------------------------
checkDigital | checkOption,checkEquity,checkSubAccount,checkPosition,checkDigital
checkDigital | checkSubAccount,checkPosition,checkDigital
checkEquity | checkOption,checkEquity,checkSubAccount
checkEquity | checkOption,checkEquity,checkSubAccount,checkPosition,checkDigital
checkOption | checkOption,checkEquity,checkSubAccount,checkPosition,checkDigital
checkOption | checkOption,checkEquity,checkSubAccount
checkPosition | checkSubAccount,checkPosition,checkDigital
checkPosition | checkOption,checkEquity,checkSubAccount,checkPosition,checkDigital
checkSubAccount | checkOption,checkEquity,checkSubAccount,checkPosition,checkDigital
checkSubAccount | checkOption,checkEquity,checkSubAccount
checkSubAccount | checkSubAccount,checkPosition,checkDigital