Найди бинарник python, который лежит в этом venv, и укажи его полный путь вместо просто python.
Но так как ты дожидаешься завевршения скрипта, может иметь смысл такой хак:
# my_script.py
import sys
def main(args: list[str]):
"""Тело скрипта здесь..."""
if __name__ == '__main__':
# скрипт запущен независимо
main(sys.argv[1:])
А в главном скрипте будет просто
import my_script
my_script.main(['--work-dir', work_dir, '--result-dir', result_dir])
В этом случае тебе не придётся сильно переделывать my_script. Но зато теряешь в удобстве вызова кода, например, если нужно получить значение из этого скрипта.
Чем больше ты вынесешь из main() в отдельные подпрограммы - тем больше контроля будет у главного скрипта, но и тем больше работы.