var tmp; //-чтобы в pattern была переменная tmp
var all_list=new Array; //-а искал не в строке str, а в массиве all_list
var myRe = /(tmp)/ig;
var myArray = myRe.exec(str);
Если ваша цель просто найти элементы массива, где есть строка tmp, то думаю быстрее будет использовать стандартные строковые функции.
Если для вас важна скорость, то реализуйте оба варианта, и сравните скорость выполнения на ваших данных.