If you want to avoid a script (which gives you a one-off update when you run it) and use a more dynamic approach (ie update instantly when you change the value of X in a subject tutors list), then the If and Vlookup functions are a good option.
Put your master list into alphabetical order, by the unique value that you want to identify your teachers by.
Then in each teacher-data cell in the teachers sheets say something like
if (B1 = "X", vlookup (A1, master-list-data-range, 3, 0 ), "")
=if (B1 = "X", vlookup (A1, master-list-data-range, 3, 0 ), "")
that's basically saying
If X THEN find the value in cell A1 in the first column of master-list-data-range, and then to return the value from the 3rd colum.
ELSE show blank.