Shell code problems

So I have a line that is suppose to find all files in a folder and then run a program through all the files and then output the files with a _.txt ending.

find ./ -name '*' -exec sh -c 'intersect-by-ids -ff {} -fc 1 -if normed_occ.txt -ic 1 \> {}_.txt'\;

the error that i get is "find: missing argument to `-exec' "

so intersect by id is the program (it works cause I used it many times). I am trying to use the file normed_occ as a comparison file to all the files in the folder.

does anyone know what I am missing?

I'd rather try to just -print instead of -exec and pipe it into xargs and see if that works better for you.

find ./ -name '*' | while read -r KISS
do
    intersect-by-ids -ff "$KISS" -fc 1 -if normed_occ.txt -ic 1  "${KISS}_.txt"
done