Discussion in courtrooms often occurs at a high speed and needs to be accurately transcribed in case the text of the decision is needed in future cases. For this purpose, the stenographers who transcribe court discussions use specially designed keyboards with a small set of buttons, which are pressed in groups to spell out words with a single motion. For this challenge, you will write a program that does something quite similar.
The Challenge
Given a list composed of sequences of three letters, as well as another list of dictionary words, return the shortest word containing all of them in sequence without overlaps. If there are multiple shortest words, you may return any of them. Your program may accept the dictionary and letter sequences in any format conforming to the I/O rules.
Examples
[dic, ion, ary]: dictionary
[tra, scr, ber]: transcriber
This is code-golf, so shortest answer wins!
The dictionary used to check answers should be the SCOWL word list, usually available as /usr/share/dict/words
on Debian GNU/Linux systems.