Se você atribuir bits de código awk a variáveis de shell que serão combinadas para criar um único programa alimentado com uma única invocação de awk, você poderá acessar matrizes criadas em um do outro. No entanto, parece mais que você está criando programas awk separados para serem alimentados para separar a invocação do awk. Nesse caso, o código passado para um awk não saberá sobre o código passado para o outro (incluindo declarações de array).